/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package cp3120.view;

import cp3120.model.Credentials;
import generic.swing.LoginDialogue;

/**
 * Base MainUI class, complete with its own 'tweaked' singleton pattern.
 * @author adam
 */
public abstract class MainUI {
    private static MainUI instance;

    public static MainUI getInstance() {
        return instance;
    }

    protected static void setInstance(MainUI instance) {
        MainUI.instance = instance;
    }

    public abstract MainMenu getMainMenu();
    public abstract LoginDialogue getLoginDialogue();
    public abstract void loginUser(Credentials credentials);
    public abstract RegistrationUI getRegistrationUI();
    public abstract ConfirmDeleteUI getConfirmDeleteUI();
    public abstract RoleListView getRoleEditor();
    public abstract void update();
    public abstract ActiveUsersList getActiveUserViewer();
    public abstract AirportList getAirportEditor();
    public abstract UserListView getUserEditor();
    public abstract MainFrame getFrame();
    public abstract FlightSearchView getFlightSearchbox();
    public abstract PurchaseView getCurrentPurchaseView();

}
